Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Transient (computer programming)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Transient_(computer_programming)"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Transient_computer_programming rootpage-Transient_computer_programming skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Transient (computer programming)</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p>In <a href="Computer_programming" title="Computer programming">computer programming</a>, <b>transient</b> is a property of any element in the system that is temporary. The term applies to <i><a href="Transient_applications" class="mw-redirect" title="Transient applications">transient applications</a></i>, i.e. software for the <a href="End_user_of_a_computer_system" class="mw-redirect" title="End user of a computer system">end-user</a> which is displayed with a transient <a href="Application_posture" title="Application posture">application posture</a>; <i>transient data</i>, which is discarded after it is no longer needed by the computation; and <i>transient code</i> which are <a href="Subroutine" class="mw-redirect" title="Subroutine">subroutines</a> or <a href="Software_component" title="Software component">software components</a> that are loaded in the system only for a fraction of the total <a href="Run_time_(program_lifecycle_phase)" class="mw-redirect" title="Run time (program lifecycle phase)">run time</a>.
</p><p>Examples of applications of the term are described below.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Java">Java</h2></div>
<p>In the <a href="Java_(programming_language)" title="Java (programming language)">Java programming language</a>, <code>transient</code> is a <a href="Java_keywords" class="mw-redirect" title="Java keywords">keyword</a> used as a field modifier. When a field is declared transient, it would not be <a href="Serialization" title="Serialization">serialized</a> even if the class to which it belongs is serialized. In Java, methods, classes and interfaces cannot be declared as transient, because they are never serialized.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>In <a href="Hibernate_(Java)" class="mw-redirect" title="Hibernate (Java)">Hibernate</a> and other persistence systems, <i>transient</i> describes an object that has been instantiated, but is not associated with a Hibernate session, i.&nbsp;e. the object resides in memory but is not being persisted.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="X">X</h2></div>

<p>In the <a href="X_Window_System" title="X Window System">X Window System</a>, a window is said to be transient <i>for</i> another window if it belongs to that other window and may not outlast it: a <a href="Dialog_box" title="Dialog box">dialog box</a>, such as an alert message, is a common example. This should not be confused with a window containing another window: contained windows lie entirely within their parents, but transients are separate windows which can generally be moved freely around the screen. Transient windows may be treated specially by the <a href="Window_manager" title="Window manager">window manager</a>, and unlike top-level windows (which can require user placement, as in <a href="Twm" title="Twm">twm</a>), must never require any user interaction on appearing.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Operating_systems">Operating systems</h2></div>
<p><i>Transient</i> also refers to a module that, once loaded into main <a href="Computer_storage" class="mw-redirect" title="Computer storage">memory</a>, is expected to remain in memory for a short time. Today, the term is rarely used, and may be obsolete. The term <a href="Overlay_(programming)" title="Overlay (programming)">Overlay</a> is commonly used instead, and refer to a program module that is brought to memory when it is needed by the running program and then replaced with another when it is no longer needed, so a program had lower memory requirements. Program modules were written to allow different modules to share the same memory region and the main program itself was responsible of exchanging modules between disk and memory as necessary.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p><p>In the mid-to-late 1960s, mainframe computers, such as the <a href="IBM_System/360" title="IBM System/360">IBM System/360</a>, had memory sizes from 8 <a href="Kilobyte" title="Kilobyte">KB</a> to 512 KB. In order to conserve memory, transients were small modules that supported a specific task, and were swapped in and <a href="Out_of_memory" title="Out of memory">out of memory</a>. The concept of transient area is part of <a href="The_Mythical_Man-Month" title="The Mythical Man-Month">Mythical Man-Month</a>'s discussion on design and the use of main memory.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> The operating system for the S/360 had two areas reserved for <a href="DOS/360_and_successors#Transients" title="DOS/360 and successors">transients</a> that supported input/output operations. These were referred to as the "logical transient area"<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> and the "physical transient area."<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> If an application program, for example, needed to use the printer, transients that supported printing were brought into the transient areas. If an application needed to use tape drives, transients that supported tape drive access were brought into the transient areas. The <a href="IBM_1130" title="IBM 1130">IBM 1130</a> of the same era used part of the first 4K of memory as a transient area.
</p><p>In the 1980s, <a href="MS-DOS" title="MS-DOS">MS-DOS</a> reloaded the transient portion of <a href="COMMAND.COM" title="COMMAND.COM">COMMAND.COM</a> between programs or user commands.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Message_passing">Message passing</h2></div>
<p>At the level of <a href="Message_passing" title="Message passing">message passing</a>, transient communication means the way by which the messages are not saved into a buffer to wait for its delivery at the message receiver. The messages will be delivered <i>only</i> if both the systems (sender and receiver) are running. If the receiver is not running at the send time, the message will be discarded, because it has not been stored into intermediate buffers.
</p>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/articles/java/javaserial-1536170.html">Discover the secrets of the Java Serialization API</a> - article from Oracle</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text">For more detail go to: <a rel="nofollow" class="external text" href="http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/objectstate.html">Jboss.org</a></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://tronche.com/gui/x/icccm/sec-4.html">"ICCCM - Client to Window Manager Communication"</a>. Tronche.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-03-20</span></span>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text">William Stallings, <i>Sistemas Operativos, 5th edition</i> (2005), Page 311</span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFF._P._Brooks1975" class="citation book cs1">F. P. Brooks (1975). <i>The Mythical Man-Month</i>. Addison-Wesley Publishing Company. p.&nbsp;101. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>0-201-00650-2</bdi>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text">1200 bytes, for IOCS functions such as OPEN and CLOSE</span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text">556 bytes, for device error handling</span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.pcjs.org/documents/books/mspl13/msdos/encyclopedia/section3">"The MS-DOS Encyclopeida"</a>.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite id="CITEREFRay_Duncan1988" class="citation magazine cs1">Ray Duncan (January 12, 1988). "Examining the MS-DOS Environment". <i><a href="PC_Magazine" class="mw-redirect" title="PC Magazine">PC Magazine</a></i>. pp.&nbsp;<span class="nowrap">349–</span>352.</cite></span>
</li>
</ol></div></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-04-28" href="https://en.wikipedia.org/wiki/?title=Transient_(computer_programming)&amp;oldid=1287744684">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>